### プロジェクト23 スマートカップ **1. 説明** このプロジェクトでは、主にArduino開発ボードを採用して、プログラム可能なスマートカップを作成します。カップ内部の液体の温度をRGBインジケーターで表示します。温度の閾値を設定することで、光の明るさを制御できます。閾値を超えると明るくなり、それ以外は暗くなります。 スマートカップは、ユーザーが飲料水の温度をより良く管理し、過熱や凍結を効果的に防ぐのに役立ちます。 **2. 動作原理** ![](media/B71.png) DHT11の関連設定はメーカーから提供されているため、そのシーケンスチャートに従って順番にデータを読み取り処理するだけで済みます。 さらに、関連コードは当社のライブラリにパッケージ化されており、ピン設定や値の読み取りが簡単に行えます。 **3. 配線図** ![](media/B72.png) **4. テストコード** 1. 基本ブロックを2つドラッグします。シリアルのボーレートモジュールを追加し、ボーレートを9600に設定します。 2. 「温度と湿度」からDHTモジュールをドラッグし、ピンをIO26、モードをdht11に設定します。 ![](media/B73.png) 3. ラップなしのシリアルプリントモジュールを追加し、プリント内容を「RH:」に設定します。次に以下の手順に従い、1秒の遅延を追加します。 **完成コード:** ![](media/B74.png) **5. テスト結果** 配線を接続しコードをアップロードした後、![](media/B75.png)をクリックしてシリアルモニターを開き、ボーレートを9600に設定すると、温度と湿度の値が表示されます。 ![](media/B76.png) **6. 拡張コード** この拡張実験では、液体の温度を表示できるスマートカップを作ります。100を4つに分割し、それぞれの範囲をLEDで表します: - **赤色LED:** 100-75°C - **黄色LED:** 75-50°C - **緑色LED:** 50-25°C - **青色LED:** 25-0°C **フローチャート:** ![](media/B77.png) **配線図:** ![](media/B78.png) **コード:** 1. 基本ブロックを2つドラッグします。次に4つのLEDピンを「出力」に設定し、DHT11のピンをIO26、モードをdht11、変数名をtempに設定します。 ![](media/B79.png) 2. DHT11の温度値を変数tempに代入します。 ![](media/B80.png) 3. "if else"を使って変数tempを判定します。条件を満たせば対応するLEDが点灯し、そうでなければ消灯します。 **完成コード:** ![](media/B81.png) **7. コード説明** 1. このコードブロックでは、空欄に番号を入れることで複数の温湿度センサーを接続できます。ピンとモードを設定した後、値を読み取れます。本プロジェクトではモードをDHT11に設定しています。 ![](media/B82.png) 2. 温度と湿度を読み取るコードブロック。 ![](media/B83.png)